\section{Présentation}

Les systèmes de reconnaissance optique de formulaires \textit{OMR} (\textit{Optical Mark Recognition}), constituent un outil utile au dépouillement de grandes masses de données, telles que les \textit{QCM}. Plusieurs systèmes libres existent déjà, mais ces derniers ne disposent pas de toutes les fonctionnalités souhaitables pour un système moderne. 
\\
L'{\sf Université Bordeaux 1} possède déjà un logiciel propriétaire de ce type, mais elle reste encore insatisfaite de son produit du fait de sa complexité d'utilisation et des différentes restrictions qu'il possède. Par exemple, ce dernier ne prend pas en compte un formulaire scanné sur plusieurs pages et stocke toutes les données dans un tableur sans aucun traitement en aval. C'est pour cela que l' \textsf{Université Bordeaux 1} accorde un grand intérêt à notre projet et nous a fait tester son outil en présence de notre client.
\\
\\
La tâche principale à réaliser consiste, en partant d'un ou de plusieurs systèmes libres existants, à concevoir un système complet sous de traitement de formulaire de \textit{QCM} sous licence libre. Il devrait permettre au client de créer un modèle de \textit{QCM} et de générer un fichier résultat à partir de l'analyse des copies de \textit{QCM} remplies. Des logiciels comme {\sf queXF}, {\sf SQS} ou {\sf Udai Omr Tool} que nous avons étudiés, ne répondent pas à tous les besoins de notre client à cause des contraintes qu'ils présentent ou de leur manque d'ergonomie.
   
\newpage
\section{Besoins du client}
Le client voudrait disposer de deux logiciels permettant d’exploiter les données d’un exemplaire de \textit{QCM} généré par n’importe quel outil graphique. \\
Le créateur de modèle de \textit{QCM} permet de délimiter les différentes parties d’un exemplaire du \textit{QCM} vierge, c'est-à-dire les zones de texte, les cases à cocher, les zones de code à barres et de sauvegarder leurs coordonnées dans un fichier. Le \textit{QCM} devrait au préalable être scanné sous  format PDF, car le logiciel n’est prévu que pour récupérer ce format.\\
L'analyseur de \textit{QCM} traite des \textit{QCM} déjà remplis également numérisés sous format \textsf{PDF}. Il se base d’abord sur le fichier généré par le logiciel précédent pour vérifier que les deux \textit{QCM}, rempli et vierge, sont du même modèle; puis, extrait vers un autre fichier les résultats du \textit{QCM} sous le format \textit{CSV} (\textit{Comma Separated Values}).\\
Les deux logiciels devraient fonctionner avec une interface graphique et posséder une bonne ergonomie d’utilisation. L'éventualité de les regrouper en un seul outil n'est pas exclu par le client.

\section{Contraintes du client}
Le client souhaiterait que les logiciels arrivent à gérer les \textit{QCM} sur plusieurs pages. Cependant, ils doivent être  capables de prendre en compte les altérations qui interviennent entre les deux phases de numérisation. En effet, lors de la deuxième phase un exemplaire peut être scanné dans une position différente de la première ou sur une machine différente. Cela pourrait engendrer une incohérence entre les coordonnées des différentes parties du \textit{QCM} calculées par les deux logiciels, à laquelle il faudrait remédier.
